package com.ssd.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ssd.entity.SkuEntity;
import com.ssd.view.BaseResponse;

import java.util.List;
import java.util.Map;

public interface SkuService extends IService<SkuEntity> {
     //分页查询商品列表
     Page<Map<String, Object>> getSkuListWithClass(int currentPage, int pageSize,String skuName,String innerCode);

     /**
      * 根据主键查询商品详情
      *
      * @param skuId 商品主键
      * @return 商品详情
      */
     SkuEntity selectSkuBySkuId(Long skuId);

     /**
      * 新增商品信息
      *
      * @param sku 商品实体
      * @return 影响的行数
      */
     int insertSku(SkuEntity sku);

     /**
      * 修改商品信息
      *
      * @param sku 更新后的商品实体
      * @return 影响的行数
      */
     int updateSku(SkuEntity sku);

     /**
      * 批量删除商品信息
      *
      * @param skuIds 需要删除的商品主键数组
      * @return 影响的行数
      */
     int deleteSkuBySkuIds(Long[] skuIds);

     /**
      * 删除指定ID的商品信息
      *
      * @param skuId 商品主键
      * @return 影响的行数
      */
     int deleteSkuBySkuId(Long skuId);


     //根据id查询商品
     BaseResponse<com.ssd.api.product.dto.SkuEntity> getSkuById(Long sukId);


     // 根据商品id集合查询sku列表
     public List<SkuEntity> getSkusByIds(List<Long> skuIds);
}
